<
language> Any
programming language that specifies explicit
manipulation of the state of the computer system, not to be
confused with a
procedural language, which specifies an
explicit sequence of steps to perform.
An example of an
imperative (but non-procedural) language is a
data manipulation language for a {relational database
management system}. This specifies changes to the database
but does not necessarily require anyone to specify a sequence
of steps.
Both contrast with
declarative languages, which specify
neither explicit state manipulation nor a sequence of steps.
(2007-10-02)